package cn.micai.base.string;

import java.util.HashMap;

/**
 * 描述：在字符串中查找重复字符的Java程序
 * <p>
 *     方法:
         创建一个HashMap和字符串的字符将被插入作为键，它的计数为值。
         如果Hashamap已经包含char，那么将它的计数增加1，否则就将char放在HashMap中
         如果Char的值大于1，那就意味着它是那个字符串中的重复字符
 *
 * @author: 赵新国
 * @date: 2018/6/11 14:45
 */
public class StringFindDuplicatesMain {

    public static void main(String [] args) {

        String str = "java2blog.com";

        HashMap<Character, Integer> charCountMap = new HashMap();

        for (int i=0; i<str.length(); i++) {
            char c = str.charAt(i);
            if (charCountMap.containsKey(c)) {
                charCountMap.put(c, charCountMap.get(c) + 1);
            } else {
                charCountMap.put(c, 1);
            }
        }

        for (Character c : charCountMap.keySet()) {
            if (charCountMap.get(c) > 1) {
                System.out.println("duplicate character : " + c + " ====== " + " count : " + charCountMap.get(c));
            }
        }

    }
}
